package com.example.yyjc.service;

import com.example.yyjc.domain.countryanalyze.*;
import com.example.yyjc.domain.industryanalyze.*;
import com.example.yyjc.domain.selectionanalyze.CountrySecondCatCase;

import java.util.List;

/**
 * @ClassName SelectService
 * @Description TODO
 * @Author lvyongwei
 * @Date 2021-02-22 9:25
 **/
public interface SelectService {

    /**
     * 查询全部国家及日期信息
     * @return
     */
    public List<Country> getCountry();

    /**
     * 查询商品数量占比
     * @return
     */
    public List<OrderCountAnalysis> getOrderCountAnalysis();

    /**
     * 查询商品价格占比
     * @return
     */
    public List<PriceCountAnalysis> getPriceCountAnalysis();

    /**
     * 查询国家月份一级类目占比
     * @return
     */
    public List<MainTitleScale> getMainTitleScale();

    /**
     * 查询国家每个月份物流订单
     * @return
     */
    public List<LogisticsOrder> getLogisticsOrder();

    /**
     * 查询国家每个月份top10店铺
     * @return
     */
    public List<ShopTopTen> getShopTopTen();

    /**
     * 查询国家每个月份top10商品
     * @return
     */
    public List<GoodsTopTen> getGoodsTopTen();

    /**
     * 查询国家每个月份top1店铺名称
     * @return
     */
    public List<CountryTopOneShopName> getCountryTopOneShopName();

    /**
     * 查询国家每个月份top1店铺商品信息
     * @return
     */
    public List<CountryToponeShopMsg> getCountryToponeShopMsg();

    /**
     * 查询所有一级类目
     * @return
     */
    public List<FirstCat> getFirstCat();

    /**
     * 一级类目每月销售额
     * @return
     */
    public List<FirstCatSale> getFirstCatSale();

    /**
     * 查询所有二级类目
     * @return
     */
    public List<SecondCat> getSecondCat();

    /**
     * 二级类目每月销售额
     * @return
     */
    public List<SecondCatSale> getSecondCatSale();

    /**
     * 获取国家每月二级类目销售额信息
     * @return
     */
    public List<SecondCatCountrySaleCount> getSecondCatCountrySaleCount();

    /**
     * 获取二级类目每个月份国家物流订单量
     * @return
     */
    public List<DeliveryCountry> getDeliveryCountry();

    /**
     * 获取二级类目每个月份价格区间商品/订单数量
     * @return
     */
    public List<SecondCatPriceScale> getSecondCatPriceScale();

    /**
     * 获取二级类目每个月份订单区间商品/订单数量
     * @return
     */
    public List<SecondCatOrderScale> getSecondCatOrderScale();

    /**
     * 获取二级类目每个月top10店铺信息
     * @return
     */
    public List<SecondCatShopTopTen> getSecondCatShopTopTen();

    /**
     * 获取二级类目每个月top10商品信息
     * @return
     */
    public List<SecondCatGoodsTopTen> getSecondCatGoodsTopTen();

    /**
     * 获取二级类目每个月top10国家top3物流信息
     * @return
     */
    public List<SecondCatTopLogistics> getSecondCatTopLogistics();

    /**
     * 获取Aliexpress前10国家信息
     * @return
     */
    public List<Aliexpress> getAliexpress();

    /**
     * 获取Aliexpress的前10二级类目信息
     * @return
     */
    public List<AliexpressSecondCatTopTen> getAliexpressSecondCatTopTen();

    /**
     * 获取国家每个月份二级类目情况
     * @return
     */
    public List<CountrySecondCatCase> getCountrySecondCatCase();
}
